//配置axios请求  基地址
axios.defaults.baseURL = "https://mock.apipark.cn/m1/4727400-4379893-default"

// 抽取轻提示函数
// showToast("xxxxxx")

function showToast(msg) {
  const toastDom = document.querySelector(".my-toast")

  // 实例化toast组件
  const toast = new bootstrap.Toast(toastDom)
  // 修改内容
  document.querySelector(".toast-body").innerHTML = msg
  // 显示
  toast.show()

}

// 抽取校验函数(判断是否登陆)

function checkLogin() {
  // 判断token

  const token = localStorage.getItem("token")
  if (token == null) {
    showToast("非法访问,请先登录!")
    setTimeout(() => {
      location.href = "./login.html"
    }, 1500)
  }
}

// 抽取渲染函数(渲染缓存中的用户名)
function renderUsername() {
  const username = localStorage.getItem("username")
  document.querySelector(".username").innerHTML = username
}

// 抽取退出誊录函数

function registerLoginOut() {
  // 绑定点击事件
  document.querySelector("#logout").addEventListener("click", () => {
    // console.log(12345);
    localStorage.removeItem("username")
    localStorage.removeItem("token")
    location.href = "./login.html"
  })
}


// axios 拦截器  请求/响应

axios.interceptors.request.use(function (config) {
  config.headers["info"] = "hi"
  console.log(config);
  const token = localStorage.getItem("token")
  if (token) {
    config.headers["Authorization"] = token
  }

  return config
}, function (error) {
  return Promise.reject(error)
})
axios.interceptors.response.use(function (response) {

  return response.data

}, function () {
  // token实效
  if (error.response.status === 401) {
    // 已过期 登出
    localStorage.removeItem("token")
    localStorage.removeItem("username")
    showToast("请重新登录")

    setTimeout(function () {
      location.href = "./login.html"
    }, 1500)

  }
  return Promise.reject(error)
})


